<!-- 头部部分 -->
<template>
  <div class="qq-music-header">
    <div class="header-logo">
      <img
        src="https://y.gtimg.cn/mediastyle/yqq/img/logo@2x.png?nowebp=1"
        alt=""
      />
    </div>
    <div class="header-nav">
      <li style="background: #31c27c">
        <a href="javascript:;" style="color: #fff">音乐馆</a>
      </li>
      <li><a href="javascript:;" @click="handleMine()">我的音乐</a></li>
    </div>
    <div class="header-input">
      <input type="text" placeholder="搜索音乐、MV、歌单、用户" v-model="inputValues"
        @keydown.enter="handleSendWords"/>
      <button @click="handleSendWords">
        <i></i>
      </button>
    </div>
    <div class="header-login">
      <a :class="[{ show: show }]" @click="handleLogin()">登录</a>
      <a class="showuser" :class="[{ show: !show }]"
        >{{ item }},你好!
        <p class="loginout" @click="handleLoginOut()">退出登录</p>
      </a>
    </div>
  </div>
</template>

<script>
//这里可以导入其他文件（比如：组件，工具js，第三方插件js，json文件，图片文件等等）
//例如：import 《组件名称》 from '《组件路径》';
import busline from '@/busline/busline'
export default {
  //import引入的组件需要注入到对象中才能使用
  
  components: {},
  data() {
    //这里存放数据
    return {
      show: this.$store.state.status,
      item: localStorage.getItem("username"),
      inputValues:'',//搜索框输入内容
    };
  },
  //监听属性 类似于data概念
  computed: {},
  //监控data中的数据变化
  watch: {},
  //方法集合
  methods: {
    handleLogin: function () {
      this.$router.push("./login");
    },
    showUser: function () {
      localStorage.getItem("username");
      // console.log(this.$store.state.status);
    },
    handleLoginOut: function () {
      this.$store.state.status = false;
      location.reload();
    },
     //发送搜索请求 路由跳转
    handleSendWords() {
      this.$http
        .get("search", {
          params: {
            keywords: this.inputValues,
          },
        })
        .then((res) => {
          // console.log(res.data.result.songs)
          busline.$emit("sendResult", res.data.result.songs);
          this.$router.push("search");
        });
    },
    handleMine:function(){
      if(!this.show){
        alert("您还没有登录");
      }else{
        this.$router.push("portal");
      }
    }
  },
  //生命周期 - 创建完成（可以访问当前this实例）
  created() {},
  //生命周期 - 挂载完成（可以访问DOM元素）
  mounted() {},
  beforeCreate() {}, //生命周期 - 创建之前
  beforeMount() {}, //生命周期 - 挂载之前
  beforeUpdate() {}, //生命周期 - 更新之前
  updated() {}, //生命周期 - 更新之后
  beforeDestroy() {}, //生命周期 - 销毁之前
  destroyed() {}, //生命周期 - 销毁完成
  activated() {}, //如果页面有keep-alive缓存功能，这个函数会触发
};
</script>
<style lang='less' scoped>
.qq-music-header {
  cursor: pointer;
  width: 1200px;
  height: 90px;
  display: flex;
  margin: 0 auto;
  justify-content: space-between;
  border-bottom: 1px solid #ddd;
  .header-logo {
    margin-top: 22px;
    img {
      width: 170px;
      height: 46px;
    }
  }

  .header-nav {
    display: flex;
    margin-left: -50px;
    li {
      margin: 0 20px;
      list-style: none;
      width: 120px;
      height: 90px;
      line-height: 90px;
      text-align: center;
      font-size: 30px;
    }
    li:hover {
      a {
        color: #31c27c;
      }
    }
    a {
      list-style: none;
      color: #000;
      text-decoration: none;
    }
  }

  .header-input {
    height: 90px;
    vertical-align: auto;
    position: relative;
    line-height: 90px;
    input {
      padding: 0 10px;
      outline: none;
      width: 200px;
      height: 30px;
    }
    button {
      position: absolute;
      top: 30px;
      right: 0;
      border: 0 none;
      width: 38px;
      height: 35px;
      overflow: visible;
      background: 0 0;
      outline: none;
    }
    i {
      background-image: url(https://y.gtimg.cn/mediastyle/yqq/img/icon_sprite.png?max_age=2592000&v=85678e8f28c7b4bcad5c209b21b7e3b3&v=85678e8f28c7b4bcad5c209b21b7e3b3);
      position: absolute;
      top: 50%;
      right: 11px;
      margin-top: -8px;
      width: 17px;
      height: 17px;
      background-position: 0 -40px;
    }
    i:hover {
      background-position: 0 -60px;
    }
  }

  .header-login {
    padding: 0 50px;
    height: 90px;
    vertical-align: auto;
    line-height: 90px;
    margin-left: -30px;
    position: relative;
    .show {
      display: none;
    }
    a {
      display: inline-block;
      height: 90px;
      color: #000;
      text-decoration: none;
      font-size: 20px;
    }
    a:hover {
      color: #31c27c;
    }
    .showuser {
      .loginout {
        position: absolute;
        background: #fff;
        height: 30px;
        width: 100%;
        color: #000;
        font-size: 16px;
        line-height: 30px;
        text-align: center;
        display: none;
        right: 0;
        top: 57px;
      }
    }
    .showuser:hover .loginout {
      display: block;
    }
  }
}
</style>